Variable content customization for coaching service

ABSTRACT

A computer-implemented method of a coaching service with variable content objects. The method can include invoking a content flow including an ordered sequence of content objects. The content flow is arranged in accordance with a coaching protocol for a user of a user device. The user accesses a coaching service through the user device. The method further includes causing the user device to present a first content object. The first content object is prearranged in the ordered sequence of content objects based on information associated with the user. The method further includes dynamically selecting a second content object to replace a next content object of the ordered sequence of content objects and advancing the content flow to the second content object in lieu of the next content object and in accordance with the coaching protocol.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. provisional patent applicationSer. No. 62/879,157 titled “Coaching Service with Variable Next ContentItems,” filed Jul. 26, 2019, which is incorporated by reference hereinin its entirety.

TECHNICAL FIELD

This disclosure generally relates to content customization, and morespecifically, to techniques for improving a content flow in aspecialized environment, such as for a flow of content objects in acoaching service.

BACKGROUND

Coaching is a form of development in which a coach supports a client inachieving a goal by providing training and/or guidance. Coaching focuseson events of a predetermined sequence to provide the training thatincrementally leads the client through objectives to achieve a goal. Thesequence of incremental events constitutes a coaching strategy. Acoaching strategy is deployed to individuals based on their desiredgoals. Conforming to a rigid coaching strategy can result in failure tocomplete the coaching strategy.

For example, in diabetes management, behavioral therapy may beprescribed by a doctor for a coaching recipient to augment the coachingrecipient's malfunctioning physiology. A doctor considers numerousfactors to formulate a personalized diabetes management program. Forexample, blood glucose levels, adverse effects of insulin, cost, thelikelihood of coaching recipient adherence, and quality of life may beconsidered when choosing a disease management strategy for a coachingrecipient.

The health status of a coaching recipient may change naturally orbecause of mismanagement due to the tedious and burdensome processrequired to adhere to a diabetes management program. As such, thecoaching recipient risks experiencing diabetes-related complications. Acoaching service can help a coaching recipient manage diabetes withongoing treatment. For example, a coaching service can help a coachingrecipient follow a rigid schedule to manage his or her diabetes withongoing interactions through a smartphone. However, a failure of acoaching service results from an inability by a coach to adapt acoaching strategy to different coaching recipients that have differentneeds and changing circumstances.

BRIEF DESCRIPTION OF THE DRAWINGS

Various features and parameters of the disclosed technology will becomemore apparent to those skilled in the art from a study of the DetailedDescription in conjunction with the drawings. Embodiments of thedisclosed technology are illustrated by way of example and notlimitation in the drawings, in which like references indicate similarelements.

FIG. 1 illustrates a communication exchange on a computing devicebetween a coach and a coaching recipient.

FIG. 2 is a block diagram that illustrates a system that implements acoaching service.

FIG. 3 is a block diagram that illustrates functional components of acoaching service.

FIG. 4 is a block diagram that illustrates an information pipeline for acontent engine.

FIG. 5 is a flow diagram that illustrates a method for varying a nextcontent object of a content flow.

FIG. 6 is a block diagram that illustrates dynamic modifications of acontent flow with variable next content objects.

FIG. 7 is a block diagram that illustrates an example computing devicein which aspects of the disclosed technology can be embodied.

The drawings depict various embodiments for the purpose of illustrationonly. Those skilled in the art will recognize that alternativeembodiments may be employed without departing from the principles of thetechnology. Accordingly, while specific embodiments are shown in thedrawings, the technology is amenable to various modifications.

DETAILED DESCRIPTION

Coaching typically involves a coach that walks a group of individualsthrough an ordered series of educational content. The coach holds groupdiscussions to reflect on learned content. In an electronic format, thecontent is provided to users on computing devices. The content can bearranged as a playlist for users of the computing devices. The coach canalso engage with individuals in chat rooms to conduct discussions. Theeducational content cannot be personalized because each individual hasspecific considerations that are not applicable to the entire group.Likewise, in health-related coaching, educational content is notpersonalized for coaching recipients (e.g., patients). In someinstances, coaching is episodic such that it only occurs when thecoaching recipient interacts with a coach due to a medical event.Accordingly, a coaching service for coaching recipients covers contentthat is not necessarily relevant. As a result, coaching recipients failto pay attention and, consequently, fail to complete a coachingexercise.

The disclosed solutions overcome the drawbacks of existing techniques. Acoaching service adapts variable content objects in a content flow forindividual needs. For example, coaching to treat chronic diseases likediabetes or other conditions may involve educational content related todiet, stress levels, and sleep. In some instances, the variable contentobjects can include medical recommendations. The content flow for anindividual participating in a coaching service is adaptable with atargeted set of content that is formulated based on information obtainedfrom various sources such as electronic medical records, pharmacy data,self-reported information (e.g., surveys), indications of preferredcontent, and monitored data such as that obtained from a continuousglucose monitor. A personalized content flow includes a series ofcontent objects with messages and/or media that goes well beyondreplicating in-person coaching. The content objects can be mapped indifferent combinations to different coaching recipients.

In some embodiments, the coaching service can dynamically recommendrelevant content objects that could be shown to the coach's coachingrecipient. The recommended content objects could be identified based ondata obtained about the coaching recipient. In some embodiments, thecontent objects are ranked to facilitate selection by the coachingrecipient's coach. As such, the coaching service can improve a coachingrecipient's experience by providing the selected content in a playlistthat maintains the coaching recipient's attention to complete thecoaching exercise. Hence, the disclosed coaching service is moreefficient both from the perspective of participants and in terms ofreducing the demand on network resources.

In some embodiments, the content objects are selected dynamically inreal-time or near real-time to enable active learning that depends onrecent data pulled from different sources. For example, a content flowcan include a series of screens shown to a user on a computing device inaccordance with the underlying logic of the coaching service to achievea predetermined objective of a coaching challenge.

The content flow is presented to a user and/or coach to improve thecoach/user relationship. The coaching service can dynamically swapcontent flows or individual content objects as a user advances through acontent flow. As such, a content flow changes to adapt to anindividual's needs as determined based on data obtained from varioussources. The coaching service can also sort or rank content to rapidlyadapt to changing circumstances of an individual.

A frequency of the decision to dynamically change content can varydepending on the availability of data on which the decision is based.For example, a refresh rate to change content of a coaching session canoccur rapidly if based on data obtained from a continuous monitoringdevice. Moreover, the coaching service can throttle the frequency whenpublishing new content.

An electronic coaching service includes a technical means such as aplatform that administers network portals for users to access contentfor coaching sessions over a medium such as a computer network. Ahealth-related electronic coaching tool can include a playlist of mediathat is ordered to guide a diabetic patient to learn proper eatinghabits in a step-by-step manner. For example, a playlist of audiorecordings can include lectures that are arranged to coach a patient onhow to manage a disease. A coaching service may include differentplaylists for different categories of coaching recipients to achievegoals. The content flow of a playlist is prearranged before a userbegins a coaching session. The playlist is selected based on factorsincluding the coaching recipient's demographic profile, historicalinformation, input from other users of the coaching service, etc. Forexample, the first playlist for young adults can include a firstsequence of content objects while a second playlist for older adults caninclude a second sequence of content objects.

As used herein, the prefix “pre” that modifies a term refers tooccurring “before” or “in advance of.” In the context of a content flow,“preselected” content is selected for the content flow before thecontent flow is played, “prepositioned” content is positioned in acontent flow before the content flow is rendered, and “prearranged” or“preset” content is preselected and prepositioned. In contrast,“dynamic” content is affected by the passage of time. For example,dynamically selected content is selected while a content flow is beingplayed (e.g., in real-time or near real-time). Likewise, dynamicallypositioned or dynamically arranged content is positioned or arranged,respectively, while the content flow is being rendered.

A health-related coaching service can determine a next recommendedaction for a coach as a function of a combination of factors including acoaching recipient profile, physiological data (e.g., real-time glucosedata), coaching recipient's selections, coach's playlist, historicalrecommended actions and/or compliance with that, and other coachingrecipient response patterns with similar profiles (e.g., demographic,disease profile, lab values, medication list, and clinical data). Thenext recommended action can be to share a specific content object. Insome embodiments, a recommended action is weighted more heavily comparedto other actions based on how other coaching recipients responded to therecommended action.

In one example, a coaching service can vary content objects of aplaylist for a coaching recipient. For example, the coaching service canbuild a library of coaching content into itemizable “content cards.” Thecontent cards can be organized into decks (also referred to as pillars)that are related to a coaching strategy. When a content card isdistributed, the coaching service can monitor the coaching recipient'sinteraction with that particular content card and select similar contentcards in the same deck to maintain the coaching recipient's attention.When a coach chooses to send a content card to the coaching recipient,the coaching service can intervene to prompt the coach with suggestedcontent cards in accordance with a coaching strategy.

As used herein, a “content card” may refer to a content object thatincludes text, images, audio, video snippets, and/or other media. Eachcontent card is designed to educate a coaching recipient in accordancewith the objective of a coaching strategy. Content cards can bepractical and targeted at behavioral changes, like what to eat and whatnot to eat. The content cards can be tagged with different keywords orother characteristics that can be used for identifying content cards.

A conventional educational segment of a coaching program is alsoburdensome because it is time-consuming. For example, a conventionalcoaching program may include a sequence of daily hour-long videos thateach follow interactions with a coach to discuss the videos. In contrastto conventional educational content of coaching services, content cardsdivide an educational program into discrete snippets. The snippets sparea coaching recipient from the cognitive burden of longer educationalsegments. For example, a snippet of a 2-hour educational video segmentmay only be a few minutes or seconds long.

The use of snippets increases the flexibility and variability of acontent flow. For example, a segment for diabetes management may includea 60-minute audio lecture that is burdensome for a coaching recipient toconsume. By dividing the 60-minute audio segment into 200 snippets thatvary between 30 seconds and 2 minutes, coaching recipients can listen todifferent combinations of the content cards over an extended period.Further, the disclosed embodiments can pinpoint a content card orcombination of content cards that have a greater likelihood of improvingthe effectiveness of coaching.

To aid in understanding, the disclosed embodiments describe an improvedcoaching service for diabetes management. However, the disclosedtechnology can be applied to any coaching service or any service thatdistributes content objects. A diabetes management program can include aprescription for medications and a coaching service for deployingeducational content. For example, a doctor can conduct a survey toassess a patient's lifestyle and administer tests to determine a runningaverage of blood-glucose levels (BGLs). In combination with otherfactors, a coaching service can formulate a diabetes management programto deploy educational content.

In practice, a coaching service for diabetes management involves varyingamounts of educational information. A coaching service may include 12daily videos that are each 60 minutes long. In conjunction with thecoaching service, the coaching recipient may be given treatments updatedwith the active assistance of a coach. The burdensome nature of thisform of coaching increases the risk that coaching recipients will simplyquit, thereby increasing the likelihood of non-adherence which issubstantially more dangerous than just quitting any education program.

The disclosed coaching service is a computer-implemented technology thatcan help coaching recipients manage diabetes. For example, a mobileapplication (“app”) for self-managing diabetes may include a coachingalgorithm such as a chatbot implemented as a virtual or simulated coach.Virtual coaching involves the use of an automated communication deviceor service such as a chatbot that can engage a coaching recipient with asimulated conversation via a messaging mechanism of a mobile portal orweb-based portal on a routine or regular basis.

In some embodiments, a coaching service can collect physiological andcontextual information including coaching recipient activity (e.g.,metabolic activity/exercise or taking of medication, eating ofparticular diet, real-time health/activity state from mobile/wearablesensors, self-reported health/activity state), external factors (e.g.,longer daylight, average temperature, season, geographical altitude,pollution level, environmental state from mobile/wearable sensors), orcoaching recipient profile information (e.g., age, gender, genotype orphenotype information) to improve a content selection algorithm oradjust determined results.

As used herein, a “coach” may refer to a computer-implemented techniquefor automating coaching processes via a computing device that encouragesa user of the computing device to adhere to a given protocol in order toachieve a goal of that protocol. In one example, a coach is animplementation of a chatbot or any automated or semi-automatedcommunications mechanism or device that can communicate with a coachingrecipient via a local or network portal. In another example, a coach isa human that uses a computing device to communicate with individuals ofa coaching service.

In some embodiments, a virtual coach could be completely automated tofunction as a human being. As such, the user of a computing device canengage in a simulated natural conversation with the virtual coach. Insome embodiments, a virtual coach operates in accordance with a set ofrules that are customized for a particular user, a particular type ofuser, a group of users, etc. In another example, a virtual coach couldbe partially automated such that a user could influence the way avirtual coach operates live (e.g., in real-time or near real-time) whileengaged with a user.

As used herein, a “user” refers to an individual or entity thatinteracts with content objects of a coaching service via a computingdevice. For example, a diabetic patient can manage his or her diabeteswith a virtual coaching service by consuming educational content. Inanother example, the user is a coach that interacts with a coachingrecipient over a coaching platform to coach the coaching recipient withcontent objects.

A coach can use a messaging mechanism to improve engagement with acoaching recipient and to share various forms of content objects.Examples of a messenger mechanism include a chat messenger, SMS text, orother input mechanisms that can be used to increase engagement bysharing educational content. In some embodiments, a coach can engage auser in a conversation on a computing device and identify effectivecontent objects for the coaching recipient.

FIG. 1 illustrates a content flow including a communication exchangebetween a coaching recipient, using a computing device 100, and thecoaching recipient's coach during an active coaching session. The coachsends the coaching recipient content objects while being engaged in anSMS text conversation. As illustrated, the computing device 100 is asmartphone with a messaging portal 102 that includes comments from thecoach 104-1 and 104-2 and the coaching recipient 106 engaged in aconversation. Although embodied on a smartphone, the messaging portal102 can run on any computing device that allows the user to obtaincontent objects which, in this example, are linked video snippets 108-1and 108-2. The messaging portal 102 can be included in an app or be partof an operating system (OS) of a smartphone or other computing device.The messaging portal 102 can receive messages from the coach to promptthe coaching recipient to consume content objects. In this example, thecoach shares links to video snippets 108-1 and 108-2 to help the patientlearn to manage a condition. The sharing of content objects can vary byfrequency, type, and the amount needed to achieve the desired outcome.

FIG. 2 is a block diagram that illustrates a system 200 that canimplement a coaching service. The system 200 can dynamically change acontent flow of the coaching service. The system 200 includes componentssuch as coaching servers 202 that run a content engine, user devices204, and data source devices 206 that collect information used todynamically change the content flow. The components are allinterconnected over a network 208 such as the Internet.

From the perspective of the user devices 204 (also referred toindividually as a user device 204), content flows can be embodied asmedia playlists that can be played on the user devices 204 by advancingthrough a respective ordered series of content objects to satisfy acoaching protocol (e.g., objective). A particular user device 204 canplay a first content object that was preselected from among multiplecontent objects to play in a position in the series of content objects.Rather than rendering a next content object that was preselected for theseries of content objects, a substitute content object is played. Thesubstitute content object can be selected responsive to informationcollected dynamically from different sources and selected to satisfy acoaching protocol.

From the perspective of the coaching servers 202, the coaching serviceis administered to facilitate coaching through the user devices 204 byone or more coaches. Each user can access the coaching service overrespective user devices 204. The coaching servers 202 can cause eachuser device 204 to play a first portion of the prearranged content inaccordance with a respective coaching protocol for each coachingrecipient. The coaching service can then dynamically select a respectivesecond portion of content for each coaching recipient. Each respectivesecond portion of content is configured to substitute a next portion ofthe prearranged content. The coaching servers 202 can then cause each ofthe user devices 204 to play a respective second portion of content foreach coaching recipient in accordance with the coaching protocol forthat coaching recipient.

The network 208 may include any combination of private, public, wired,or wireless portions. The data or information communicated over thenetwork 208 may be encrypted or unencrypted at various locations oralong different portions of the network 208. Each component of thesystem 200 may include combinations of hardware and/or software toprocess data or information, perform functions, communicate over thenetwork 208, and the like. For example, any component of the system 200may include a processor, memory or storage, a network transceiver, adisplay, OS and application software (e.g., for providing a userinterface), and the like. Other components, hardware, and/or softwareincluded in the system 200 that would be well known to persons skilledin the art are not shown or discussed herein for the sake of brevity.

The user devices 204 can be used to interact with the system 200.Examples of user devices 204 include smartphones (e.g., APPLE IPHONE,SAMSUNG GALAXY, NOKIA LUMINA), tablet computers (e.g., APPLE IPAD,MICROSOFT SURFACE), computers (e.g., APPLE MACBOOK, LENOVO THINKPAD),and any other device that is capable of exchanging data with thecoaching servers 202 over the network 208.

The coaching servers 202 may execute a coaching service on any number ofserver computers that can operate a content engine. The coaching servers202 can store algorithms to dynamically change content flows of acoaching segment. For example, an algorithm may include a combination ofrules for determining whether a content object of a content flow shouldchange.

The data source devices 206 may include any number of servers or othercomputing resources that can collect, store, and/or provide data orinformation related to content objects for the coaching servers 202 foruse in determining whether to change a content flow. The data sourcedevices 206 may include any source of healthcare-related information.For example, the data source devices 206 may include any providers suchas medical facilities, private offices, or devices administered byhealthcare professionals. In some embodiments, the data or informationmay include at least portions of medical records.

FIG. 3 is a block diagram that illustrates functional components of acoaching service. A coaching platform 300 (“platform 300”) can includecomponents or modules that collectively operate to perform a process fora coaching service. As used herein, a “component” or “module” may referto a part or independent unit of hardware and/or software that performsone or more distinct functions. In some instances, a module isself-contained, separable, and/or interchangeable relative to othermodules.

As shown, the platform 300 includes one or more processors 302, acommunication module 304, a messaging module 306, a learning module 308,a content engine 310, and storage modules 312. Other embodiments of theplatform 300 may include some or all of these modules or components,along with other modules and/or components that are within the scope ofthe disclosure or known to persons skilled in the art but not shownherein for the sake of brevity.

The processor(s) 302 can execute modules from instructions stored in thestorage modules 312, which can be any computing device or mechanismcapable of storing information. The communication module 304 may managecommunications among components of the platform 300 and/or between theplatform 300 and another computing device. For example, thecommunication module 304 can facilitate communication of user inputs orcontextual information related to a coaching recipient's coachingexperience. The received inputs or information may be wirelesslyuploaded by the user's computing device (e.g., the user device 204) orother devices (e.g., data source devices 206) over a network (e.g.,network 208) to a server computer (e.g., coaching servers 202).

The communication module 304 facilitates the exchange of communicationsbetween a user device and the content engine 310. Further, thecommunication module 304 may transmit search results to a computingdevice associated with a coaching recipient or the coaching recipient'scoach. The user inputs or contextual information communicated over thecommunication module 304 can be stored in storage 312, one or moreparticular storage modules (e.g., storage modules 312-1 through 312-N),a remote storage accessible to the platform 300, or some combinationthereof.

The messaging module 306 can generate a messaging interface that allowsa user (e.g., a coaching recipient) to interact with content objects ofa content flow. The content engine 310 includes underlying logic used todecide when and what content objects to change of a content flow.

In some embodiments, the user input, contextual information, and/orvalues extracted therefrom can be stored in the storage 312 along withthe information used by the content engine 310. In this way, the contentengine 310 can improve the recommended content objects for a coachingsegment.

In some embodiments, the learning module 308 can utilize the user inputsand/or contextual information to improve the coaching platform 300. Forexample, the learning module 308 can aggregate collected user inputs andcontextual information from numerous users associated with numerouscoaching recipients, and process those collected inputs or informationin accordance with machine-learning algorithms to train the contentengine 310. Examples of machine learning algorithms/techniques includeNaïve Bayes Classifier algorithms, K Means Clustering algorithms,Support Vector Machine algorithms, linear regression, logic regression,and artificial neural networks.

The coaching platform 300 can also collect contextual information (e.g.,real-time health/activity state from mobile/wearable sensors,self-reported health/activity state, environmental state frommobile/wearable sensors, etc.) to help or improve the search algorithm.Although not shown or described for the sake of brevity, the coachingplatform 300 includes modules that ensure compliance with privacysettings and data security.

FIG. 4 is a block diagram that illustrates an information pipeline 400that communicates data from various sources to a content engine 402,which can formulate content flows and can dynamically change the contentflow based on the collected data. The pipeline 400 obtains data andinformation from various diverse sources for the dynamic engine. Thepipeline 400 represents one or more communication channels (e.g.,network 208) and devices (e.g., user devices 204 or data source devices206).

Examples of the diverse sources (e.g., data source devices 206)illustrated in FIG. 4 include medical sources 404, a coachingrecipient's location information 406, a physiological monitor 408, amotion tracker 410, monitoring devices at the coaching recipient's home412, and virtually any other computing devices such as internet ofthings (IoT) devices 414 that can communicate useful information for thecontent engine 402.

For example, medical sources 404 can include electronic medical records(EMRs) that describe a coaching recipient's medical history andprescriptions. Examples of the medical sources 404 include hospitals,clinics, pharmacies, or the coaching recipients or medical providersthemselves. For example, a coaching recipient can input medicalinformation into an application on a mobile phone when engaged in adiscussion with a coach about diabetes management. In addition to theuser inputs provided by the user of a computing device, contextualinformation can be derived from conversations during a coaching session.The medical information can include utilization data that indicates howoften a coaching recipient sought medical assistance or experienced anemergency. Other examples of the medical sources 404 include coachingrecipient-reported data of surveys or response patterns from othersimilarly situated coaching recipients.

Examples of location information 406 include a coaching recipient'slocation, which could be determined by the GPS receiver of the coachingrecipient's smartphone. The location information 406 can be used todetermine, for example, whether the coaching recipient visited arestaurant or a gym. If so, a coach can engage the coaching recipient toobtain more details about what the user ate at the restaurant or theexercise that the coaching recipient participated in while at the gym.This contextual information can be used by the content engine 402 todetermine whether a change in a content flow is required and the degreeof the change necessary to manage diabetes.

An example of the physiological monitor 408 is a continuous glucosemonitor (CGM) that can continuously collect BGLs of a coachingrecipient. The physiological monitor 408 can be worn by the coachingrecipient to monitor a physiological parameter of the coaching recipienton a regular basis, continuously throughout the day. Any physiologicalmonitoring device that collects physiological parameter values that areindicative of a condition or useful for managing a condition could beused by the content engine 402 to determine whether a change in acontent flow is required and to determine the degree of the requiredchange.

Examples of contextual information from the motion tracker 410 couldinclude data or information about the user's activities such as whetherthe user is exercising, the duration and rigor of the exercise, andrelated physiological indicators of the user such as heart rate. Thisfitness information can be used alone or in combination with othercontextual information to influence the outcome of the content engine402.

Examples of contextual information obtained by monitoring the coachingrecipient's home 412 can include intelligent appliances that monitor theuser's activities. For example, a smart refrigerator can detect thefrequency that a coaching recipient opens the refrigerator and alert thecontent engine 402 to change a content flow in response to thisactivity. In another example, the home 412 can include a virtualassistant such as the AMAZON ECHO, which uses natural languageprocessing to match user text and voice inputs to execute commands.

Examples of the IoT devices 414 include any computing devices withsensors that can capture contextual information (e.g., environmentalsensors) and that can connect over a network to the content engine 402.The examples shown in FIG. 4 are not meant to be limiting. Rather, thecontent engine 402 can process user inputs or contextual informationfrom any device capable of generating or capturing the inputs orcontextual information and communicating it to the content engine 402.

In some embodiments, user inputs or contextual information can becollected by the pipeline 400 continuously (e.g., periodically, hourly,daily) or on demand. For example, a virtual coaching service canadminister a messaging portal that engages a coaching recipient insimulated conversations periodically to receive inputs. The user inputsor contextual information may indicate an ongoing severity of symptomsexperienced by the coaching recipient. In some embodiments, these userinputs and contextual information can be used to update the coachingrecipient's profile.

In some embodiments, the user inputs or contextual information can beused for compliance monitoring. For example, a mobile app may prompt theuser to input whether the coaching recipient is complying with a desiredbehavior, such as regularly exercising. Tracking a coaching recipient'scompliance in combination with data about the coaching recipient'soutcomes can be used to determine whether a content flow for diabetesmanagement is effective at managing the coaching recipient's diabetes.

FIG. 5 is a flow diagram that illustrates a method for varying a nextcontent object of a content flow according to some embodiments of thepresent disclosure. In step 502, a coaching service prepares a contentflow for a user of a computing device that subscribes to the coachingservice. The content flow includes multiple content objects such asvideo snippets that are ordered in a sequence to provide a coachingexperience for the user. In another embodiment, the coaching service canselect the content flow from among multiple content flows that areavailable for users. Each of the content flows can have a differentarrangement of different content objects. The content flows can have thesame coaching protocol but are customized for different types of users.

In step 504, a coaching service can invoke (e.g., start, continue) acontent flow as part of a coaching segment. The content flow includes anordered sequence of content objects (e.g., media objects, mediasnippets). The content flow is arranged in accordance with a coachingprotocol for coaching a user of a computing device. For example, theuser can be a coaching recipient of a health-related coaching servicethat the coaching recipient accesses on a mobile phone. The coachingprotocol of a coaching recipient can include weight management as partof a diabetes management coaching service.

In step 506, the coaching service can cause the computing device torender a first content object of the ordered sequence of contentobjects. The first content object is preselected and prepositioned inthe ordered sequence of content objects before being caused to render onthe computing device. The content flow in its entirety can be preset fora user as part of a coaching segment. For example, the content flow caninclude a series of video snippets to coach a coaching recipient oneating habits as part of a diabetes management segment. Hence, thecontent flow is based on information associated with the user such asthe user being diabetic.

In step 508, the coaching service dynamically selects and presents asecond content object to replace a next content object of the orderedsequence of content objects. Like the first content object, the nextcontent object was preselected and prepositioned in the ordered sequenceof content objects based on information associated with the user. Thesecond content object is different from the next content object. In someembodiments, the second content object is selected in response to anindication to continue the content flow.

In one example, the user is a patient, the coaching protocol is formanaging a condition of the patient, and the second content object isdynamically selected based on a monitored physiological parameter of thepatient such as BGLs obtained from a CGM worn by the coaching recipient.For example, the first content object may be a video snippet includingan introduction to diabetes management. The next content object could bea video snippet about engaging in exercise for control weight. However,given data that a coaching recipient has recently frequented fast foodrestaurants via a location tracking application on the coachingrecipient's mobile phone, the next content object may be swapped for adifferent video snippet about making suitable food choices to controlweight.

The content flow can vary in different ways to satisfy a coachingprotocol. For example, FIG. 6 is a block diagram that illustrates adynamic modification of a content flow with variable next contentobjects. The content flow 600 is functionally equivalent to an index ofordered elements that are rendered to illustrate a coaching segment. Inthe illustrated embodiment, the elements of the content flow 600 arecontent objects that are played on a computing device.

The content flow 600 includes an ordered series of content objects 602-1through 602-5. Each content object and its respective position in theorder of content objects relative to each other are preselected based oninformation about the user such as a medical condition, prescription,activity, and/or demographic information. The coaching service cancreate the content flow 600 for the user or an existing content flow canbe selected for a user. In one example, the content object 602-2 isdynamically inserted between the content object 602-1 and 602-3 tobecome a next content object after the content object 602-1 in theseries of content objects of the content flow 600. In this case, thenumber of content objects of a content flow 600 increases by one toinclude the content object 602-2.

In another example, the content object 602-2 is the next content objectand is replaced with a different content object from the availablecontent objects 604. As such, the number of content objects of a contentflow 600 does not change. In another example, the content object 602-4is a next content object that is removed from the content flow 600. Assuch, the number of content objects of the content flow 600 decreases byone due to the removed next content object 602-4. In another example,the content object 602-3 is moved in the ordered series of contentobjects after content object 602-4. In yet another illustrated example,the content objects 602-3 and 602-5 are swapped such that the number ofcontent objects of the content flow 600 does not change despite theorder of the content flow changing.

In some embodiments, a substitute content object is selected by a coachof the user. For example, the coaching service can dynamically select avariety of alternative content objects and present those alternatives asrecommendations for the coach to select during a coaching exercise. Thecoaching service then receives an indication that the coach selected thesubstitute content object for the coaching recipient.

Referring back to FIG. 5 , in step 510, the coaching service advancesthe content flow to the second content object in lieu of the nextcontent object and in accordance with the coaching protocol. The dynamicselection of the content object not only aids to provide relevant andtimely content but can also help avoid premature termination of thecontent flow by the user of the computing device. For example, if theuser repeatedly restarts playback of a content object but fails tocomplete it, the coaching service can replace that content object withanother content object that facilitates satisfying the coachingprotocol.

A content flow is not limited to a playlist of a series of contentobjects on a computing device. Instead, an interface that facilitates acoaching process can be utilized. A content flow can be text-based or bevoice-based where audio content is played over an audio channel. In someembodiments, a content flow can include a combination of different formsof content objects that can be played on one or more computing devices.

FIG. 7 is a block diagram that illustrates an example computing device(e.g., computing device 100) in which aspects of the disclosedtechnology can be embodied. For example, the coaching platform 300 ofFIG. 3 may be hosted on the computing device 700. The computing device700 may include generic components and/or components specificallydesigned to carry out the disclosed technology. The computing device 700may be a standalone device or part of a distributed system (e.g., system200 of FIG. 2 ) that spans networks, locations, machines, orcombinations thereof. For example, components of the computing device700 may be included in or coupled to a system-on-chip (SOC), asingle-board computer (SBC) system, a desktop or laptop computer, akiosk, a mainframe, a mesh of computer systems, or combinations thereof.

In some embodiments, the computing device 700 can operate as a serverdevice or a client device in a client-server network environment, or asa peer machine in a peer-to-peer system. In some embodiments, thecomputing device 700 may perform one or more steps of the disclosedembodiments in real-time, near real-time, offline, by batch processing,or combinations thereof.

The computing device 700 includes a processing subsystem 702 thatincludes one or more processors 704 (e.g., central processing units(CPUs), application specific integrated circuits (ASICs), and/or fieldprogrammable gate arrays (FPGAs)), a memory controller 706, memory 708that can store software 710, and a peripherals interface 712. The memory708 may include volatile memory (e.g., random-access memory (RAM))and/or non-volatile memory (e.g., read-only memory (ROM)). The memory708 can be local, remote, or distributed. The computing device 700 canalso include a clock subsystem 714 that controls a timer for use in someembodiments. The components of the computing device 700 areinterconnected over a bus (not shown) operable to transfer data betweenhardware components.

The peripherals interface 712 is coupled to one or more external ports716 which can connect to an external power source, for example. Theperipherals interface 712 is also coupled to an I/O subsystem 718. Othercomponents coupled to the peripherals interface 712 includecommunications circuitry 720, audio circuitry 722 for a speaker 724 anda microphone 726, an accelerometer 728, a GPS receiver 730 (or globalnavigation satellite system (GLONASS) or other global navigation systemreceiver), and other sensors (not shown). The GPS receiver 730 isoperable to receive signals concerning the geographic location of thecomputing device 700. The accelerometer 728 can be operable to obtaininformation concerning the orientation (e.g., portrait or landscape) ofthe computing device 700.

The I/O subsystem 718 includes a display controller 732 operative tocontrol a touch-sensitive display system 734, which further includes thetouch-sensitive display of the computing device 700. The I/O subsystem718 also includes an optical sensor(s) controller 736 for one or moreoptical sensors 738 of the computing device 700. The I/O subsystem 718includes other components (not shown) to control physical buttons.

The communications circuitry 720 can configure the antenna 740 of thecomputing device 700. In some embodiments, the antenna 740 isstructurally integrated with the computing device 700 (e.g., embedded inthe housing or display screen) or coupled to the computing device 700through the external ports 716. The communications circuitry 720 canconvert electrical signals to/from electromagnetic signals that arecommunicated by the antenna 740 to networks 742 (e.g., network 208 ofFIG. 2 ) or other devices. For example, the communications circuitry 720can include radio frequency (RF) circuitry that processes RF signalscommunicated by the antenna 740.

The communications circuitry 720 can include circuitry for performingwell-known functions such as an RF transceiver, one or more amplifiers,a tuner, oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM card or eSIM), and so forth. Thecommunications circuitry 720 may communicate wirelessly via the antenna740 with the networks 742 (e.g., the Internet, an intranet and/or awireless network, such as a cellular network, a wireless local areanetwork (LAN) and/or a metropolitan area network (MAN)) or otherdevices.

The software 710 can include an OS software program, applicationsoftware programs, and/or modules (e.g., the communication module 304,messaging module 306, learning module 308, content engine 310, storagemodules 312 of FIG. 3 ). For example, a GPS module can determine thelocation of the computing device 700 based on the GPS signals receivedby the GPS receiver 730. The GPS module can provide this information tocomponents of the computing device 700 for use in various applications(e.g., to provide location-based contextual information).

A software program, when referred to as “implemented in acomputer-readable storage medium,” includes computer-readableinstructions stored in the memory (e.g., memory 708). A processor (e.g.,processors 704) is “configured to execute a software program” when atleast one value associated with the software program is stored in aregister that is readable by the processor. In some embodiments,routines executed to implement the disclosed embodiments may beimplemented as part of OS software (e.g., MICROSOFT WINDOWS® and LINUX®)or a specific software application, component, program, object, module,or sequence of instructions referred to as “computer programs.”

Computer programs typically comprise one or more instructions set atvarious times in various memory devices of the computing device 700,which, when read and executed by the processor 704, will cause thecomputing device 700 to execute functions involving the disclosedembodiments. In some embodiments, a carrier containing theaforementioned computer program product is provided. The carrier is oneof an electronic signal, an optical signal, a radio signal, or anon-transitory computer-readable storage medium (e.g., the memory 708).

Operation of the memory 708, such as a change in state from a binary one(1) to a binary zero (0) (or vice versa) may comprise a visuallyperceptible physical change or transformation. The transformation maycomprise a physical transformation of an article to a different state orthing. For example, a change in state may involve accumulation andstorage of charge or a release of stored charge. Likewise, a change ofstate may comprise a physical change or transformation in magneticorientation or a physical change or transformation in molecularstructure, such as a change from crystalline to amorphous or vice versa.

Aspects of the disclosed embodiments may be described in terms ofalgorithms and symbolic representations of operations on data bitsstored in memory. These algorithmic descriptions and symbolicrepresentations generally include a sequence of operations leading to adesired result. The operations require physical manipulations ofphysical quantities. Usually, though not necessarily, these quantitiestake the form of electric or magnetic signals that are capable of beingstored, transferred, combined, compared, and otherwise manipulated.Customarily, and for convenience, these signals are referred to as bits,values, elements, symbols, characters, terms, numbers, or the like.These and similar terms are associated with physical quantities and aremerely convenient labels applied to these quantities.

The computing device 700 may include other components that are not shownnor further discussed herein for the sake of brevity. One havingordinary skill in the art will understand any hardware and software thatis included but not shown in FIG. 7 . While embodiments have beendescribed in the context of fully functioning computing devices, thoseskilled in the art will appreciate that the various embodiments arecapable of being distributed as a program product in a variety of formsand that the disclosure applies equally, regardless of the particulartype of machine or computer-readable media used to actually effect theembodiments.

Remarks

The embodiments set forth above represent necessary information toenable those skilled in the art to practice the embodiments andillustrate the best mode of practicing the embodiments. Upon reading thefollowing description in light of the accompanying Figures, thoseskilled in the art will understand the concepts of the disclosure andwill recognize applications of these concepts that are not particularlyaddressed herein. It should be understood that these concepts andapplications fall within the scope of the disclosure and theaccompanying claims.

The purpose of the terminology used herein is only for describingembodiments and is not intended to limit the scope of the disclosure.

Reference to “one embodiment” or “an embodiment” means that a particularfeature, structure, or parameter described in connection with theembodiment is included in at least one embodiment of the disclosure. Theappearances of the phrase “in one embodiment” in this disclosure are notnecessarily referring to the same embodiment, nor are separate oralternative embodiments necessarily mutually exclusive of otherembodiments. Moreover, various features are described that may beexhibited by some embodiments and not by others. Similarly, variousrequirements are described that may be requirements for some embodimentsand not for other embodiments.

As used herein, unless specifically stated otherwise, terms such as“processing,” “computing,” “calculating,” “determining,” “displaying,”“generating,” or the like, refer to actions or processes of anelectronic device that manipulates and transforms data, represented asphysical (electronic) quantities within the computer's memory orregisters, into other data similarly represented as physical quantitieswithin the device's memory, registers, or other such storage medium,transmission, or display devices.

When used in reference to a list of multiple items, the word “or” isintended to cover all of the following interpretations: any of the itemsin the list, all of the items in the list, and any combination of itemsin the list.

Unless the context clearly requires otherwise, throughout thedescription and the embodiments, the words “comprise,” “comprising,” andthe like are to be construed in an inclusive sense, as opposed to anexclusive or exhaustive sense; that is to say, in the sense of“including, but not limited to.”

As used herein, the terms “connected,” “coupled,” or any variantthereof, means any connection or coupling, either direct or indirect,between two or more elements; the coupling of or connection between theelements can be physical, logical, or a combination thereof. Forexample, two components may be coupled directly to one another or viaone or more intermediary channels or components. As another example,devices may be coupled in such a way that information can be passedtherebetween, while not sharing any physical connection with oneanother. Where context permits, words in the Detailed Description usingthe singular or plural form may also include the plural or singularform, respectively.

The foregoing description of various embodiments of the describedsubject matter has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit thedescribed subject matter to the precise forms disclosed. Manymodifications and variations will be apparent to one skilled in the art.Embodiments were chosen and described in order to best describe theprinciples of the invention and its practical applications, therebyenabling those skilled in the relevant art to understand the describedsubject matter, the various embodiments, and the various modificationsthat are suited to the particular uses contemplated.

Although the Detailed Description describes certain embodiments and thebest mode contemplated, the technology can be practiced in many ways nomatter how detailed the Detailed Description appears. Embodiments mayvary considerably in their implementation details, while still beingencompassed by this disclosure. Particular terminology used whendescribing certain features or aspects of various embodiments should notbe taken to imply that the terminology is being redefined herein to berestricted to any specific parameters, features, or aspects of thetechnology with which that terminology is associated. In general, theterms used in the following described should not be construed to limitthe technology to the specific embodiments disclosed in thespecification, unless those terms are explicitly defined herein.Accordingly, the actual scope of the technology encompasses not only thedisclosed embodiments but also all equivalent ways of practicing orimplementing the embodiments.

The invention claimed is:
 1. A computer-implemented method comprising:invoking a content flow of a coaching service including an orderedsequence of content objects, wherein the sequence of content objects isordered in accordance with a coaching protocol for coaching a user of auser device; causing the user device to present a first content objectof the ordered sequence of content objects, wherein the first contentobject is preset in the ordered sequence of content objects based on acondition of the user; detecting multiple interruptions to presentingthe first content object on the user device, wherein the multipleinterruptions to presenting the first content object are caused by theuser; in response to detecting the multiple interruptions, dynamicallyselecting a second content object, in accordance with the condition ofthe user, to replace the first content object in lieu of a next contentobject in the ordered sequence of content objects, wherein the nextcontent object is preset in the ordered sequence of content objectsbased on the condition of the user, and wherein the second contentobject is different from the next content object; and advancing thecontent flow to cause the user device to present the second contentobject rather than the next content object, wherein the second contentobject is presented on the user device in accordance with the coachingprotocol.
 2. The method of claim 1, wherein the second content object isselected responsive to an indication to continue the content flow. 3.The method of claim 1, wherein the second content object is insertedbetween the first content object and the next content object in theordered sequence of content objects.
 4. The method of claim 1, whereinthe second content object replaces the next content object in theordered sequence of content objects.
 5. The method of claim 1, whereinthe next content object is removed from the ordered sequence of contentobjects.
 6. The method of claim 1, wherein the next content object ismoved to a different position in the ordered sequence of contentobjects.
 7. The method of claim 1, wherein the condition is associatedwith a disease and the coaching protocol is for managing the disease ofthe user.
 8. The method of claim 1, wherein the coaching protocol is forimproving the condition of the user.
 9. The method of claim 1, whereinthe condition includes a diabetic condition and the coaching protocol isfor improving the diabetic condition.
 10. The method of claim 1, whereinthe second content object is selected by a coach of the user.
 11. Themethod of claim 1, wherein dynamically selecting the second contentobject comprises: presenting a set of selectable content objects to acoach of the user, the set of selectable content objects including thesecond content object; and receiving an indication that the coachselected the second content object from among the set of selectablecontent objects.
 12. The method of claim 1, wherein the coachingprotocol is for treating a disease of the user, and wherein the secondcontent object is dynamically presented based on a monitoredphysiological parameter of the user.
 13. The method of claim 1, whereinthe ordered sequence of content objects is an ordered sequence of mediasnippets.
 14. The method of claim 1 further comprising, prior toinvoking the content flow: creating the content flow based on thecondition of the user, wherein the content objects and the orderedsequence are personalized for the user.
 15. The method of claim 1further comprising, prior to invoking the content flow: receiving aselection of the content flow from among a plurality of content flowsthat are available for the user.
 16. A computer-implemented methodcomprising: processing a media playlist by advancing through an orderedseries of media objects in accordance with a protocol, wherein the mediaplaylist is presented on a user device by playing the ordered series ofmedia objects including: playing a first media object that is preset ina position of the ordered series of media objects relative to othermedia objects; detecting multiple interruptions to the playing of thefirst media object on the user device, wherein the multipleinterruptions to the playing of the first media object are caused by theuser; and in response to detecting the multiple interruptions, playing asubstitute media object instead of playing the first media object, suchthat the substitute media object is played before a next media objectthat was preset in the ordered series of media objects, wherein thesubstitute media object is selected responsive to data collected from aplurality of data sources and in accordance with the protocol.
 17. Themethod of claim 16, wherein playing the ordered series of media objectscomprises: playing the next media object on the user device.
 18. Themethod of claim 16, wherein playing the ordered series of media objectscomprises: reordering the ordered series of media objects while theordered series of media objects is playing on the user device.
 19. Aserver computer comprising: one or more memories storing instructions ofa coaching service that is configured to facilitate virtual coaching bya coach of a plurality of coaching recipients, wherein each coachingrecipient is a user of a user device capable of communicatively couplingto the server computer; one or more processors configured to execute theinstructions stored on the one or more memories, causing each userdevice to: play a first portion of media on each user device inaccordance with a respective playlist for each coaching recipient; anddetect multiple interruptions to playback of the first portion of mediaon a user device, wherein the multiple interruptions to playback of thefirst portion of media are caused by the user; in response to detectingthe multiple interruptions, play a second portion of the media for eachcoaching recipient in accordance with a coaching protocol for eachcoaching recipient, wherein each respective second portion of the mediais configured to substitute the first portion of the media in lieu of anext portion of the media.
 20. The server computer of claim 19, whereineach respective second portion of media is selected by a single coachfrom among a plurality of portions of the media.